home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1999 April: Mac OS SDK / Dev.CD Apr 99 SDK1.toast / Development Kits / Interfaces&Libraries / Universal / Interfaces / ComponentIncludes / ImageCodec.k.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-08-17  |  18.8 KB  |  343 lines  |  [TEXT/MPS ]

  1. /*
  2.      File:        ImageCodec.k.h
  3.  
  4.      Contains:    QuickTime Interfaces.
  5.  
  6.      Version:    Technology:    QuickTime 3.0
  7.                  Release:    Universal Interfaces 3.2
  8.  
  9.      Copyright:    © 1990-1998 by Apple Computer, Inc., all rights reserved
  10.  
  11.      Bugs?:        For bug reports, consult the following page on
  12.                  the World Wide Web:
  13.  
  14.                      http://developer.apple.com/bugreporter/
  15.  
  16. */
  17. #ifndef __IMAGECODEC_K__
  18. #define __IMAGECODEC_K__
  19.  
  20. #include <ImageCodec.h>
  21.  
  22. /*
  23.     Example usage:
  24.  
  25.         #define IMAGECODEC_BASENAME()    Fred
  26.         #define IMAGECODEC_GLOBALS()    FredGlobalsHandle
  27.         #include <ImageCodec.k.h>
  28.  
  29.     To specify that your component implementation does not use globals, do not #define IMAGECODEC_GLOBALS
  30. */
  31. #ifdef IMAGECODEC_BASENAME
  32.     #ifndef IMAGECODEC_GLOBALS
  33.         #define IMAGECODEC_GLOBALS() 
  34.         #define ADD_IMAGECODEC_COMMA 
  35.     #else
  36.         #define ADD_IMAGECODEC_COMMA ,
  37.     #endif
  38.     #define IMAGECODEC_GLUE(a,b) a##b
  39.     #define IMAGECODEC_STRCAT(a,b) IMAGECODEC_GLUE(a,b)
  40.     #define ADD_IMAGECODEC_BASENAME(name) IMAGECODEC_STRCAT(IMAGECODEC_BASENAME(),name)
  41.  
  42.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(GetCodecInfo) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA CodecInfo * info);
  43.  
  44.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(GetCompressionTime) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA PixMapHandle  src, const Rect * srcRect, short  depth, CodecQ * spatialQuality, CodecQ * temporalQuality, unsigned long * time);
  45.  
  46.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(GetMaxCompressionSize) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA PixMapHandle  src, const Rect * srcRect, short  depth, CodecQ  quality, long * size);
  47.  
  48.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(PreCompress) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA CodecCompressParams * params);
  49.  
  50.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(BandCompress) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA CodecCompressParams * params);
  51.  
  52.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(PreDecompress) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA CodecDecompressParams * params);
  53.  
  54.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(BandDecompress) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA CodecDecompressParams * params);
  55.  
  56.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(Busy) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA ImageSequence  seq);
  57.  
  58.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(GetCompressedImageSize) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA ImageDescriptionHandle  desc, Ptr  data, long  bufferSize, ICMDataProcRecordPtr  dataProc, long * dataSize);
  59.  
  60.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(GetSimilarity) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA PixMapHandle  src, const Rect * srcRect, ImageDescriptionHandle  desc, Ptr  data, Fixed * similarity);
  61.  
  62.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(TrimImage) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA ImageDescriptionHandle  Desc, Ptr  inData, long  inBufferSize, ICMDataProcRecordPtr  dataProc, Ptr  outData, long  outBufferSize, ICMFlushProcRecordPtr  flushProc, Rect * trimRect, ICMProgressProcRecordPtr  progressProc);
  63.  
  64.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(RequestSettings) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA Handle  settings, Rect * rp, ModalFilterUPP  filterProc);
  65.  
  66.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(GetSettings) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA Handle  settings);
  67.  
  68.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(SetSettings) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA Handle  settings);
  69.  
  70.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(Flush) (IMAGECODEC_GLOBALS());
  71.  
  72.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(SetTimeCode) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA void * timeCodeFormat, void * timeCodeTime);
  73.  
  74.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(IsImageDescriptionEquivalent) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA ImageDescriptionHandle  newDesc, Boolean * equivalent);
  75.  
  76.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(NewMemory) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA Ptr * data, Size  dataSize, long  dataUse, ICMMemoryDisposedUPP  memoryGoneProc, void * refCon);
  77.  
  78.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(DisposeMemory) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA Ptr  data);
  79.  
  80.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(HitTestData) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA ImageDescriptionHandle  desc, void * data, Size  dataSize, Point  where, Boolean * hit);
  81.  
  82.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(NewImageBufferMemory) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA CodecDecompressParams * params, long  flags, ICMMemoryDisposedUPP  memoryGoneProc, void * refCon);
  83.  
  84.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(ExtractAndCombineFields) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA long  fieldFlags, void * data1, long  dataSize1, ImageDescriptionHandle  desc1, void * data2, long  dataSize2, ImageDescriptionHandle  desc2, void * outputData, long * outDataSize, ImageDescriptionHandle  descOut);
  85.  
  86.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(GetMaxCompressionSizeWithSources) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA PixMapHandle  src, const Rect * srcRect, short  depth, CodecQ  quality, CDSequenceDataSourcePtr  sourceData, long * size);
  87.  
  88.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(SetTimeBase) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA void * base);
  89.  
  90.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(SourceChanged) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA UInt32  majorSourceChangeSeed, UInt32  minorSourceChangeSeed, CDSequenceDataSourcePtr  sourceData, long * flagsOut);
  91.  
  92.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(FlushFrame) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA UInt32  flags);
  93.  
  94.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(GetSettingsAsText) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA Handle * text);
  95.  
  96.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(GetParameterListHandle) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA Handle * parameterDescriptionHandle);
  97.  
  98.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(GetParameterList) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA QTAtomContainer * parameterDescription);
  99.  
  100.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(CreateStandardParameterDialog) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA QTAtomContainer  parameterDescription, QTAtomContainer  parameters, QTParameterDialogOptions  dialogOptions, DialogPtr  existingDialog, short  existingUserItem, QTParameterDialog * createdDialog);
  101.  
  102.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(IsStandardParameterDialogEvent) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA EventRecord * pEvent, QTParameterDialog  createdDialog);
  103.  
  104.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(DismissStandardParameterDialog) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA QTParameterDialog  createdDialog);
  105.  
  106.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(StandardParameterDialogDoAction) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA QTParameterDialog  createdDialog, long  action, void * params);
  107.  
  108.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(NewImageGWorld) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA CodecDecompressParams * params, GWorldPtr * newGW, long  flags);
  109.  
  110.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(DisposeImageGWorld) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA GWorldPtr  theGW);
  111.  
  112.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(HitTestDataWithFlags) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA ImageDescriptionHandle  desc, void * data, Size  dataSize, Point  where, long * hit, long  hitFlags);
  113.  
  114.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(ValidateParameters) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA QTAtomContainer  parameters, QTParameterValidationOptions  validationFlags, StringPtr  errorString);
  115.  
  116.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(GetBaseMPWorkFunction) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA ComponentMPWorkFunctionUPP * workFunction, void ** refCon, ImageCodecMPDrawBandUPP  drawProc, void * drawProcRefCon);
  117.  
  118.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(Preflight) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA CodecDecompressParams * params);
  119.  
  120.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(Initialize) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA ImageSubCodecDecompressCapabilities * cap);
  121.  
  122.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(BeginBand) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA CodecDecompressParams * params, ImageSubCodecDecompressRecord * drp, long  flags);
  123.  
  124.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(DrawBand) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA ImageSubCodecDecompressRecord * drp);
  125.  
  126.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(EndBand) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA ImageSubCodecDecompressRecord * drp, OSErr  result, long  flags);
  127.  
  128.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(QueueStarting) (IMAGECODEC_GLOBALS());
  129.  
  130.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(QueueStopping) (IMAGECODEC_GLOBALS());
  131.  
  132.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(DroppingFrame) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA const ImageSubCodecDecompressRecord * drp);
  133.  
  134.  
  135.     /* MixedMode ProcInfo constants for component calls */
  136.     enum {
  137.         uppImageCodecGetCodecInfoProcInfo = 0x000003F0,
  138.         uppImageCodecGetCompressionTimeProcInfo = 0x000FEFF0,
  139.         uppImageCodecGetMaxCompressionSizeProcInfo = 0x0003EFF0,
  140.         uppImageCodecPreCompressProcInfo = 0x000003F0,
  141.         uppImageCodecBandCompressProcInfo = 0x000003F0,
  142.         uppImageCodecPreDecompressProcInfo = 0x000003F0,
  143.         uppImageCodecBandDecompressProcInfo = 0x000003F0,
  144.         uppImageCodecBusyProcInfo = 0x000003F0,
  145.         uppImageCodecGetCompressedImageSizeProcInfo = 0x0003FFF0,
  146.         uppImageCodecGetSimilarityProcInfo = 0x0003FFF0,
  147.         uppImageCodecTrimImageProcInfo = 0x03FFFFF0,
  148.         uppImageCodecRequestSettingsProcInfo = 0x00003FF0,
  149.         uppImageCodecGetSettingsProcInfo = 0x000003F0,
  150.         uppImageCodecSetSettingsProcInfo = 0x000003F0,
  151.         uppImageCodecFlushProcInfo = 0x000000F0,
  152.         uppImageCodecSetTimeCodeProcInfo = 0x00000FF0,
  153.         uppImageCodecIsImageDescriptionEquivalentProcInfo = 0x00000FF0,
  154.         uppImageCodecNewMemoryProcInfo = 0x0003FFF0,
  155.         uppImageCodecDisposeMemoryProcInfo = 0x000003F0,
  156.         uppImageCodecHitTestDataProcInfo = 0x0003FFF0,
  157.         uppImageCodecNewImageBufferMemoryProcInfo = 0x0000FFF0,
  158.         uppImageCodecExtractAndCombineFieldsProcInfo = 0x0FFFFFF0,
  159.         uppImageCodecGetMaxCompressionSizeWithSourcesProcInfo = 0x000FEFF0,
  160.         uppImageCodecSetTimeBaseProcInfo = 0x000003F0,
  161.         uppImageCodecSourceChangedProcInfo = 0x0000FFF0,
  162.         uppImageCodecFlushFrameProcInfo = 0x000003F0,
  163.         uppImageCodecGetSettingsAsTextProcInfo = 0x000003F0,
  164.         uppImageCodecGetParameterListHandleProcInfo = 0x000003F0,
  165.         uppImageCodecGetParameterListProcInfo = 0x000003F0,
  166.         uppImageCodecCreateStandardParameterDialogProcInfo = 0x000EFFF0,
  167.         uppImageCodecIsStandardParameterDialogEventProcInfo = 0x00000FF0,
  168.         uppImageCodecDismissStandardParameterDialogProcInfo = 0x000003F0,
  169.         uppImageCodecStandardParameterDialogDoActionProcInfo = 0x00003FF0,
  170.         uppImageCodecNewImageGWorldProcInfo = 0x00003FF0,
  171.         uppImageCodecDisposeImageGWorldProcInfo = 0x000003F0,
  172.         uppImageCodecHitTestDataWithFlagsProcInfo = 0x000FFFF0,
  173.         uppImageCodecValidateParametersProcInfo = 0x00003FF0,
  174.         uppImageCodecGetBaseMPWorkFunctionProcInfo = 0x0000FFF0,
  175.         uppImageCodecPreflightProcInfo = 0x000003F0,
  176.         uppImageCodecInitializeProcInfo = 0x000003F0,
  177.         uppImageCodecBeginBandProcInfo = 0x00003FF0,
  178.         uppImageCodecDrawBandProcInfo = 0x000003F0,
  179.         uppImageCodecEndBandProcInfo = 0x00003BF0,
  180.         uppImageCodecQueueStartingProcInfo = 0x000000F0,
  181.         uppImageCodecQueueStoppingProcInfo = 0x000000F0,
  182.         uppImageCodecDroppingFrameProcInfo = 0x000003F0
  183.     };
  184.  
  185. #endif    /* IMAGECODEC_BASENAME */
  186.  
  187. /*
  188.     Example usage:
  189.  
  190.         #define QTPHOTO_BASENAME()    Fred
  191.         #define QTPHOTO_GLOBALS()    FredGlobalsHandle
  192.         #include <ImageCodec.k.h>
  193.  
  194.     To specify that your component implementation does not use globals, do not #define QTPHOTO_GLOBALS
  195. */
  196. #ifdef QTPHOTO_BASENAME
  197.     #ifndef QTPHOTO_GLOBALS
  198.         #define QTPHOTO_GLOBALS() 
  199.         #define ADD_QTPHOTO_COMMA 
  200.     #else
  201.         #define ADD_QTPHOTO_COMMA ,
  202.     #endif
  203.     #define QTPHOTO_GLUE(a,b) a##b
  204.     #define QTPHOTO_STRCAT(a,b) QTPHOTO_GLUE(a,b)
  205.     #define ADD_QTPHOTO_BASENAME(name) QTPHOTO_STRCAT(QTPHOTO_BASENAME(),name)
  206.  
  207.     EXTERN_API( ComponentResult  ) ADD_QTPHOTO_BASENAME(SetSampling) (QTPHOTO_GLOBALS() ADD_QTPHOTO_COMMA short  yH, short  yV, short  cbH, short  cbV, short  crH, short  crV);
  208.  
  209.     EXTERN_API( ComponentResult  ) ADD_QTPHOTO_BASENAME(SetRestartInterval) (QTPHOTO_GLOBALS() ADD_QTPHOTO_COMMA unsigned short  restartInterval);
  210.  
  211.     EXTERN_API( ComponentResult  ) ADD_QTPHOTO_BASENAME(DefineHuffmanTable) (QTPHOTO_GLOBALS() ADD_QTPHOTO_COMMA short  componentNumber, Boolean  isDC, unsigned char * lengthCounts, unsigned char * values);
  212.  
  213.     EXTERN_API( ComponentResult  ) ADD_QTPHOTO_BASENAME(DefineQuantizationTable) (QTPHOTO_GLOBALS() ADD_QTPHOTO_COMMA short  componentNumber, unsigned char * table);
  214.  
  215.  
  216.     /* MixedMode ProcInfo constants for component calls */
  217.     enum {
  218.         uppQTPhotoSetSamplingProcInfo = 0x000AAAF0,
  219.         uppQTPhotoSetRestartIntervalProcInfo = 0x000002F0,
  220.         uppQTPhotoDefineHuffmanTableProcInfo = 0x0000F6F0,
  221.         uppQTPhotoDefineQuantizationTableProcInfo = 0x00000EF0
  222.     };
  223.  
  224. #endif    /* QTPHOTO_BASENAME */
  225.  
  226. /*
  227.     Example usage:
  228.  
  229.         #define IMAGECODEC_BASENAME()    Fred
  230.         #define IMAGECODEC_GLOBALS()    FredGlobalsHandle
  231.         #include <ImageCodec.k.h>
  232.  
  233.     To specify that your component implementation does not use globals, do not #define IMAGECODEC_GLOBALS
  234. */
  235. #ifdef IMAGECODEC_BASENAME
  236.     #ifndef IMAGECODEC_GLOBALS
  237.         #define IMAGECODEC_GLOBALS() 
  238.         #define ADD_IMAGECODEC_COMMA 
  239.     #else
  240.         #define ADD_IMAGECODEC_COMMA ,
  241.     #endif
  242.     #define IMAGECODEC_GLUE(a,b) a##b
  243.     #define IMAGECODEC_STRCAT(a,b) IMAGECODEC_GLUE(a,b)
  244.     #define ADD_IMAGECODEC_BASENAME(name) IMAGECODEC_STRCAT(IMAGECODEC_BASENAME(),name)
  245.  
  246.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(EffectSetup) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA CodecDecompressParams * p);
  247.  
  248.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(EffectBegin) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA CodecDecompressParams * p, EffectsFrameParamsPtr  ePtr);
  249.  
  250.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(EffectRenderFrame) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA EffectsFrameParamsPtr  p);
  251.  
  252.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(EffectConvertEffectSourceToFormat) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA EffectSourcePtr  sourceToConvert, ImageDescriptionHandle  requestedDesc);
  253.  
  254.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(EffectCancel) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA EffectsFrameParamsPtr  p);
  255.  
  256.     EXTERN_API( ComponentResult  ) ADD_IMAGECODEC_BASENAME(EffectGetSpeed) (IMAGECODEC_GLOBALS() ADD_IMAGECODEC_COMMA QTAtomContainer  parameters, Fixed * pFPS);
  257.  
  258.  
  259.     /* MixedMode ProcInfo constants for component calls */
  260.     enum {
  261.         uppImageCodecEffectSetupProcInfo = 0x000003F0,
  262.         uppImageCodecEffectBeginProcInfo = 0x00000FF0,
  263.         uppImageCodecEffectRenderFrameProcInfo = 0x000003F0,
  264.         uppImageCodecEffectConvertEffectSourceToFormatProcInfo = 0x00000FF0,
  265.         uppImageCodecEffectCancelProcInfo = 0x000003F0,
  266.         uppImageCodecEffectGetSpeedProcInfo = 0x00000FF0
  267.     };
  268.  
  269. #endif    /* IMAGECODEC_BASENAME */
  270.  
  271. /*
  272.     Example usage:
  273.  
  274.         #define CURVE_BASENAME()    Fred
  275.         #define CURVE_GLOBALS()    FredGlobalsHandle
  276.         #include <ImageCodec.k.h>
  277.  
  278.     To specify that your component implementation does not use globals, do not #define CURVE_GLOBALS
  279. */
  280. #ifdef CURVE_BASENAME
  281.     #ifndef CURVE_GLOBALS
  282.         #define CURVE_GLOBALS() 
  283.         #define ADD_CURVE_COMMA 
  284.     #else
  285.         #define ADD_CURVE_COMMA ,
  286.     #endif
  287.     #define CURVE_GLUE(a,b) a##b
  288.     #define CURVE_STRCAT(a,b) CURVE_GLUE(a,b)
  289.     #define ADD_CURVE_BASENAME(name) CURVE_STRCAT(CURVE_BASENAME(),name)
  290.  
  291.     EXTERN_API( ComponentResult  ) ADD_CURVE_BASENAME(GetLength) (CURVE_GLOBALS() ADD_CURVE_COMMA gxPaths * target, long  index, wide * wideLength);
  292.  
  293.     EXTERN_API( ComponentResult  ) ADD_CURVE_BASENAME(LengthToPoint) (CURVE_GLOBALS() ADD_CURVE_COMMA gxPaths * target, long  index, Fixed  length, FixedPoint * location, FixedPoint * tangent);
  294.  
  295.     EXTERN_API( ComponentResult  ) ADD_CURVE_BASENAME(NewPath) (CURVE_GLOBALS() ADD_CURVE_COMMA Handle * pPath);
  296.  
  297.     EXTERN_API( ComponentResult  ) ADD_CURVE_BASENAME(CountPointsInPath) (CURVE_GLOBALS() ADD_CURVE_COMMA gxPaths * aPath, unsigned long  contourIndex, unsigned long * pCount);
  298.  
  299.     EXTERN_API( ComponentResult  ) ADD_CURVE_BASENAME(GetPathPoint) (CURVE_GLOBALS() ADD_CURVE_COMMA gxPaths * aPath, unsigned long  contourIndex, unsigned long  pointIndex, gxPoint * thePoint, Boolean * ptIsOnPath);
  300.  
  301.     EXTERN_API( ComponentResult  ) ADD_CURVE_BASENAME(InsertPointIntoPath) (CURVE_GLOBALS() ADD_CURVE_COMMA gxPoint * aPoint, Handle  thePath, unsigned long  contourIndex, unsigned long  pointIndex, Boolean  ptIsOnPath);
  302.  
  303.     EXTERN_API( ComponentResult  ) ADD_CURVE_BASENAME(SetPathPoint) (CURVE_GLOBALS() ADD_CURVE_COMMA gxPaths * aPath, unsigned long  contourIndex, unsigned long  pointIndex, gxPoint * thePoint, Boolean  ptIsOnPath);
  304.  
  305.     EXTERN_API( ComponentResult  ) ADD_CURVE_BASENAME(GetNearestPathPoint) (CURVE_GLOBALS() ADD_CURVE_COMMA gxPaths * aPath, FixedPoint * thePoint, unsigned long * contourIndex, unsigned long * pointIndex, Fixed * theDelta);
  306.  
  307.     EXTERN_API( ComponentResult  ) ADD_CURVE_BASENAME(PathPointToLength) (CURVE_GLOBALS() ADD_CURVE_COMMA gxPaths * aPath, Fixed  startDist, Fixed  endDist, FixedPoint * thePoint, Fixed * pLength);
  308.  
  309.     EXTERN_API( ComponentResult  ) ADD_CURVE_BASENAME(CreateVectorStream) (CURVE_GLOBALS() ADD_CURVE_COMMA Handle * pStream);
  310.  
  311.     EXTERN_API( ComponentResult  ) ADD_CURVE_BASENAME(AddAtomToVectorStream) (CURVE_GLOBALS() ADD_CURVE_COMMA OSType  atomType, Size  atomSize, void * pAtomData, Handle  vectorStream);
  312.  
  313.     EXTERN_API( ComponentResult  ) ADD_CURVE_BASENAME(AddPathAtomToVectorStream) (CURVE_GLOBALS() ADD_CURVE_COMMA Handle  pathData, Handle  vectorStream);
  314.  
  315.     EXTERN_API( ComponentResult  ) ADD_CURVE_BASENAME(AddZeroAtomToVectorStream) (CURVE_GLOBALS() ADD_CURVE_COMMA Handle  vectorStream);
  316.  
  317.     EXTERN_API( ComponentResult  ) ADD_CURVE_BASENAME(GetAtomDataFromVectorStream) (CURVE_GLOBALS() ADD_CURVE_COMMA Handle  vectorStream, long  atomType, long * dataSize, Ptr * dataPtr);
  318.  
  319.  
  320.     /* MixedMode ProcInfo constants for component calls */
  321.     enum {
  322.         uppCurveGetLengthProcInfo = 0x00003FF0,
  323.         uppCurveLengthToPointProcInfo = 0x0003FFF0,
  324.         uppCurveNewPathProcInfo = 0x000003F0,
  325.         uppCurveCountPointsInPathProcInfo = 0x00003FF0,
  326.         uppCurveGetPathPointProcInfo = 0x0003FFF0,
  327.         uppCurveInsertPointIntoPathProcInfo = 0x0001FFF0,
  328.         uppCurveSetPathPointProcInfo = 0x0001FFF0,
  329.         uppCurveGetNearestPathPointProcInfo = 0x0003FFF0,
  330.         uppCurvePathPointToLengthProcInfo = 0x0003FFF0,
  331.         uppCurveCreateVectorStreamProcInfo = 0x000003F0,
  332.         uppCurveAddAtomToVectorStreamProcInfo = 0x0000FFF0,
  333.         uppCurveAddPathAtomToVectorStreamProcInfo = 0x00000FF0,
  334.         uppCurveAddZeroAtomToVectorStreamProcInfo = 0x000003F0,
  335.         uppCurveGetAtomDataFromVectorStreamProcInfo = 0x0000FFF0
  336.     };
  337.  
  338. #endif    /* CURVE_BASENAME */
  339.  
  340.  
  341. #endif /* __IMAGECODEC_K__ */
  342.  
  343.